Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## rdlc.hw
Class ModuleWireGroup

    java.lang.Object
      rdlc.naming.Catalog<java.lang.String,V>
          rdlc.naming.HierarchicalCatalog<Field>
              rdlc.rdl.Instance
                  rdlc.hw.ModuleWireGroup

All Implemented Interfaces:
  Expression, Field

    public class ModuleWireGroup

extends Instance

Abstraction of a group of related wires. They are stored as a group because that's how they're used. In fact that may represent a single RDL port or any other standard hardware interface.

Version:
  $Revision: 1.15 $
Author:
  Greg Gibeling

Nested Class Summary

Nested classes/interfaces inherited from class rdlc.rdl.Instance
`Instance.Accessor, Instance.Identifier, Instance.LateBindField, Instance.QualifiedIdentifier`

Nested classes/interfaces inherited from class rdlc.naming.HierarchicalCatalog
`HierarchicalCatalog.DefaultAccessor<_V>`

Nested classes/interfaces inherited from interface rdlc.rdl.Expression
`Expression.Phase`

Field Summary
`protected static ModuleWireGroup` | `RAMPHostControls` The standard RAMP host controls port group.
`protected static ModuleWireGroup` | `RAMPLinkControls` The standard RAMP link controls port group.
`protected static ModuleWireGroup` | `RAMPStartDone` The standard start and done port group.
`protected static ModuleWireGroup` | `RAMPSystemInputs` The standard system inputs port group.

Fields inherited from class rdlc.rdl.Instance
`bound, copied, copySource, dynRoot, lateBindFieldList, namespace, resolved`

Fields inherited from class rdlc.naming.HierarchicalCatalog
`cachedIdentifier, cachedRoot, name, parent`

Fields inherited from class rdlc.naming.Catalog
`entryList, indexTable`

Constructor Summary
`ModuleWireGroup(ModuleWireGroup wireGroup, Instance _instance, boolean forceType, ModuleWire.Type wireType, java.lang.String groupNamePrefix, java.lang.String wireNamePrefix, boolean copyAttributes)` Copy constructor.
`ModuleWireGroup(java.lang.String _name, Instance _parent)` Base constructor, creates a wire group with a name and a parent modules instance.
`ModuleWireGroup(UnitPort unitPort, Instance _parent, ModuleParameterGroup paramGroup, boolean input, boolean link, boolean wire)` Full constructor, creates a port group to represent a single RDL port.

Method Summary
`protected void` | `add(java.lang.String _name, Message message, ModuleWire.Type Direction, ModuleParameterGroup paramGroup, boolean input)` Helper method for the full constructor.
`Field` | `copy(java.lang.String _name, Instance _instance)` Create a copy of this field in the given instance.
`boolean` | `hasPort()` Simple accessor.
`static ModuleWireGroup` | `RAMPHostControls()` Create the standard RAMP host controls port group.
`static ModuleWireGroup` | `RAMPLinkControls()` Create the standard RAMP link controls port group.
`static ModuleWireGroup` | `RAMPStartDone()` Create the standard start and done port group.
`static ModuleWireGroup` | `RAMPSystemInputs()` Create the standard system inputs port group.

Methods inherited from class rdlc.rdl.Instance
`add, add, bindFields, copySubInstance, createIdentifier, getDynRoot, getRequirements, resolve, setInstance, setNamespace, setRawDynamicID, toString, typeMatch`

Methods inherited from class rdlc.naming.HierarchicalCatalog
`connectParent, getIdentifier, getName, getParent, getRoot, hashCode`

Methods inherited from class rdlc.naming.Catalog
`clear, containsKey, entryList, get, get, getKey, isEmpty, keySet, put, put, putAll, remove, size`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface rdlc.rdl.Field
`getIdentifier`

Field Detail

### RAMPHostControls

    protected static ModuleWireGroup RAMPHostControls

  The standard RAMP host controls port group.

### RAMPStartDone

    protected static ModuleWireGroup RAMPStartDone

  The standard start and done port group.

### RAMPLinkControls

    protected static ModuleWireGroup RAMPLinkControls

  The standard RAMP link controls port group.

### RAMPSystemInputs

    protected static ModuleWireGroup RAMPSystemInputs

  The standard system inputs port group.

Constructor Detail

### ModuleWireGroup

    public ModuleWireGroup(java.lang.String _name,
                           Instance _parent)

  Base constructor, creates a wire group with a name and a parent modules instance.

  Parameters:
    `_name` - The name for this wire group.
    `_parent` - The module instance this group will belong to.

### ModuleWireGroup

    public ModuleWireGroup(UnitPort unitPort,
                           Instance _parent,
                           ModuleParameterGroup paramGroup,
                           boolean input,
                           boolean link,
                           boolean wire)

  Full constructor, creates a port group to represent a single RDL port. This will include all of the message fields and union port fields, along with all required tag and handshaking ports.

  Parameters:
    `unitPort` - The RDL `UnitPort` for which we are creating a verilog port group.
    `_parent` - The module this group will be added to.
    `paramGroup` - The corresponding parameter group giving the width and tag constants.
    `input` - Is this wire group for an input version of the port?
    `link` - Is this wire group for a link (rather than a shell)?
    `wire` - Should all of the wires actually be TYPE_WIRE rather than inputs or outputs?

### ModuleWireGroup

    public ModuleWireGroup(ModuleWireGroup wireGroup,
                           Instance _instance,
                           boolean forceType,
                           ModuleWire.Type wireType,
                           java.lang.String groupNamePrefix,
                           java.lang.String wireNamePrefix,
                           boolean copyAttributes)

  Copy constructor.

  Parameters:
    `wireGroup` - The wire group to copy.
    `_instance` - The instance the new wire should be added to.
    `forceType` - Should the wires all be forced to the given type.
    `wireType` - The type to optionally force the wires to.
    `groupNamePrefix` - An optional prefix to add to the wire group name.
    `wireNamePrefix` - An optional prefix to add to each wire name.
    `copyAttributes` - Should the synthesis attributes on the wires be copied?

Method Detail

### add

    protected void add(java.lang.String _name,
                       Message message,
                       ModuleWire.Type Direction,
                       ModuleParameterGroup paramGroup,
                       boolean input)

  Helper method for the full constructor. Adds a message, possibly a structured or union message to the list of ports in this group.

  Parameters:
    `_name` - The name prefix for the signals from this message.
    `message` - The `Message` we need to add to this port group.
    `Direction` - The direction of the RDL port we're working on right now.
    `paramGroup` - The parameter group from which to get width and tag parameters.
    `input` - Is this wire group for an input version of the port?

### copy

    public Field copy(java.lang.String _name,
                      Instance _instance)

  Description copied from interface: `Field`
  Create a copy of this field in the given instance. This is highly useful during dynamic hierarchy copying and during back end generation.

  Parameters:
    `_name` - The new name to use.
    `_instance` - The instance the copy should be a member of.
  See Also:
    `Field.copy(String, Instance)`

### hasPort

    public boolean hasPort()

  Simple accessor.

  Returns:
    `true` if this wire group contains an external port (I, O or I/O).

### RAMPHostControls

    public static ModuleWireGroup RAMPHostControls()

  Create the standard RAMP host controls port group.

  Returns:
    The standard RAMP host controls port group.

### RAMPStartDone

    public static ModuleWireGroup RAMPStartDone()

  Create the standard start and done port group.

  Returns:
    The standard start and done port group.

### RAMPLinkControls

    public static ModuleWireGroup RAMPLinkControls()

  Create the standard RAMP link controls port group.

  Returns:
    The standard RAMP link controls port group.

### RAMPSystemInputs

    public static ModuleWireGroup RAMPSystemInputs()

  Create the standard system inputs port group.

  Returns:
    The standard system inputs port group.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD